package com.yami.shop.personnft.common.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yami.shop.bean.model.PersonNftApply;
import com.yami.shop.common.util.PageParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * personNft信息
 *
 * @author FrozenWatermelon
 * @date 2020-10-28 15:27:24
 */
public interface PersonNftApplyMapper {

	/**
	 * 获取列表
	 *
	 * @param
	 * @return 列表
	 */
	List<PersonNftApply> listByParam(@Param("personNftApply") PersonNftApply personNftApply);

	IPage<PersonNftApply> listPageByParam(Page page, @Param("personNftApply") PersonNftApply personNftApply);


	/**
	 * 保存
	 *
	 * @param personNftApply
	 */
	void save(@Param("personNftApply") PersonNftApply personNftApply);
	PersonNftApply getinfoById(@Param("id") String id);
	Integer update(@Param("personNftApply") PersonNftApply personNftApply);

	Integer updateByDownApplyId(@Param("personNftApply") PersonNftApply personNftApply);

	/**
	 * 转增列表查询
	 * @param personNftApply
	 * @return
	 */
	List<Map<String,Object>> transferListByUserId(@Param("personNftApply") PersonNftApply personNftApply);
	/**
	 * 批量修改
	 *
	 * @param 信息
	 */
	void updateStatusBatchById(@Param("list") List<PersonNftApply> list);

	PersonNftApply selectByRedIdAndUserId(@Param("redPacketId") Long redPacketId,
										  @Param("channelUserId") String channelUserId,
										  @Param("denomId") String denomId);

	PersonNftApply selectByRemarkAndSceneTypeId(@Param("shareId") Long shareId,
												@Param("sceneType") int sceneType);
}
